package main

import "fmt"

//12、计算1000以内的水仙花数 -- 就是个位、十位、百位的立方和等于数值本身，例：153=1**3 + 5**3 + 3**3  -- go
// 水仙花数是指一个 3 位数，它的每个位上的数字的 3次幂之和等于它本身。例如：1^3 + 5^3+ 3^3 = 153
//三位的水仙花数共有4个：153，370，371，407；

func main()  {
	for i:=100;i<1000;i++{
		//取十位数 tens
		tens := i/10%10
		//取个位数		Single digit
		single := i%10
		//取百位数  Hundred Digits
		hundred := int(i/100)

		all := tens*tens*tens+single*single*single+hundred*hundred*hundred
		//fmt.Println(all,reflect.TypeOf(all))
		//fmt.Println(i,reflect.TypeOf(i))
		if all == i{
			fmt.Println(i)
		}
	}
}

//简而言之就是类型不匹配
//cannot use assignment (all) = (i) as value